컴퓨터 비전으로 전환하기
오늘 우리는 단순하고 구조화된 데이터를 기본적인 선형 계층을 사용해 다루는 방식에서, 고차원 이미지 데이터를 다루는 방식으로 전환합니다. 단일 색상 이미지는 표준 아키텍처가 효율적으로 처리할 수 없는 상당한 복잡성을 초래합니다. 시각 정보에 대한 딥러닝은 특수한 접근법이 필요합니다: 컨볼루션 신경망(CNN)입니다.
1. 완전 연결 네트워크(FCN)가 실패하는 이유
FCN에서는 모든 입력 픽셀이 다음 레이어의 모든 뉴런과 연결되어야 합니다. 고해상도 이미지에서는 이로 인해 계산량이 폭발적으로 증가하게 되며, 과적합이 극심해져 학습이 불가능하고 일반화 성능이 낮아집니다.
- 입력 차원:표준 $224 \times 224$ RGB 이미지는 $150,528$개의 입력 특징($224 \times 224 \times 3$)을 생성합니다.
- 히든 레이어 크기:첫 번째 히든 레이어에 1,024개의 뉴런을 사용할 경우.
- 총 파라미터 수(레이어 1):단지 첫 번째 연결 블록만 해도 약 $154$백만 개의 가중치($150,528 \times 1024$)가 필요하며, 막대한 메모리와 연산 시간이 요구됩니다.
CNN의 해결책
CNN은 이미지의 공간 구조를 활용하여 FCN의 확장성 문제를 해결합니다. 작은 필터를 사용해 패턴(예: 경계선 또는 곡선)을 식별함으로써 파라미터 수를 수십만 배 이상 줄이고, 모델의 강건성을 높입니다.
터미널bash — model-env
> 준비됨. 실행하려면 "실행"을 클릭하세요.
>
파라미터 효율성 감시기실시간
파라미터 수를 시각화하려면 비교를 실행하세요.
질문 1
다음 중 컨볼루션 신경망에서 국소 수용 영역을 사용하는 주요 이점은 무엇입니까?
질문 2
만약 $3 \times 3$ 필터가 전체 이미지에 적용된다면, 어떤 핵심 CNN 개념이 활용되고 있습니까?
질문 3
어떤 CNN 구성 요소가 특징지도의 공간 차원(너비와 높이)을 점진적으로 감소시키는 책임을 맡고 있습니까?
도전 과제: 핵심 CNN 구성 요소 식별하기
CNN 메커니즘과 그 기능적 이점을 연결하세요.
이미지 내에서 객체가 약간 위치가 이동하더라도 인식할 수 있도록, 매우 파라미터 효율적인 시각 모델을 만들어야 합니다.
단계 1
어떤 메커니즘이 네트워크가 프레임 내 어디에 있든 특정 특징(예: 대각선)을 인식할 수 있도록 보장합니까?
해결책:
공유 가중치.모든 위치에서 동일한 필터를 사용함으로써, 네트워크는 변환 불변성을 학습합니다.
공유 가중치.모든 위치에서 동일한 필터를 사용함으로써, 네트워크는 변환 불변성을 학습합니다.
단계 2
어떤 아키텍처 선택이 CNN이 FCN보다 적은 파라미터로 특징을 탐지할 수 있게 해줍니까?
해결책:
국소 수용 영역(또는 희소 연결).모든 픽셀에 연결하는 대신, 각 뉴런은 입력의 작은 국소 영역에만 연결됩니다.
국소 수용 영역(또는 희소 연결).모든 픽셀에 연결하는 대신, 각 뉴런은 입력의 작은 국소 영역에만 연결됩니다.
단계 3
CNN 구조는 어떻게 계층적 특징 학습(예: 경계선 → 모서리 → 객체)을 가능하게 하나요?
해결책:
스택된 레이어.초기 레이어는 컨볼루션을 통해 간단한 특징(경계선)을 학습합니다. 더 깊은 레이어는 이전 레이어의 출력을 결합하여 복잡하고 추상적인 특징(객체)을 형성합니다.
스택된 레이어.초기 레이어는 컨볼루션을 통해 간단한 특징(경계선)을 학습합니다. 더 깊은 레이어는 이전 레이어의 출력을 결합하여 복잡하고 추상적인 특징(객체)을 형성합니다.